/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.bus.entity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.thinkgem.jeesite.common.persistence.DataEntity;
import com.thinkgem.jeesite.modules.sys.entity.Attachment;

/**
 * 疫苗补助Entity
 * @author zhangxingliang
 * @version 2019-06-10
 */
public class Vaccine extends DataEntity<Vaccine> {
	
	private static final long serialVersionUID = 1L;
	private String entHistoryId;		// 表ID
	private Date submitDate;		// 疫苗补助提交时间
	private String auditStatus;		// 审核状态（-1:待提交;0:未审核;1:通过;2驳回,;3省级驳回）
	private Date invoiceDate;		// 发票时间
	private String invoiceNo;		// 发票编号
	private String factory;		// 疫苗厂商(生产单位)
	private BigDecimal subsidyCash;		// 补助总额
	private String vaccineImg;		// 疫苗首图，显示在列表

	/* 发票详情信息 by zxl */
	private String state;			// 发票状态
	private String invoiceType;		// 发票类型
	private String invoiceCode;		// 发票代码
	private String checkCode;		// 校验码
	private BigDecimal totalAmount;	// 合计金额(不含税额)
	private String purchaserName;	// 购方名称
	private String purchaserTaxNo;	// 购方税号
	/* 发票详情信息 by zxl */

	private String status;		// 启用状态 0=不可用 1=可用
	private String sort;		// 排序
	private String entId;		//entID

	/*辅助字段*/
	private String areaCode;		//行政区划代码
	private String groupConcatVaccineName;		//拼接后的疫苗名称
	private Audit audit;		//审核表
	private EntHistory entHistory ;			//机构历史表
	private VaccineInfo	vaccineInfo ;		//疫苗补助1对多子表
	private String groupConcatVaccoineAmountMl;		//拼接后的疫苗量

	private List<Attachment> attachmentList;//疫苗补助附件图片
	private List<VaccineInfo> vaccineInfoList;// 疫苗详细信息
	private SubsidyStandard subsidyStandard;
	private String vaccineName; //疫苗名称
	private String standardId;//疫苗补助id
	private String entName;//历史企业名称
	private String auditOpinion;//审核意见
	private String busAuditStatus;//Audit表审核状态
	private Date auditDate;//审核时间
	private String vaccineType; //疫苗大类
	private String auditId;//审核id
	private String statusFlag;
	private String auditTableStatus;
	private String initialDeposit;//存栏
	private String farmType;//养殖品种

	public Vaccine() {
		super();
	}

	public Vaccine(String id){
		super(id);
	}

	@Length(min=0, max=18, message="表ID长度必须介于 0 和 18 之间")
	public String getEntHistoryId() {
		return entHistoryId;
	}

	public void setEntHistoryId(String entHistoryId) {
		this.entHistoryId = entHistoryId;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getSubmitDate() {
		return submitDate;
	}

	public void setSubmitDate(Date submitDate) {
		this.submitDate = submitDate;
	}
	
	@Length(min=0, max=4, message="审核状态（-1:待提交;0:未审核;1:通过;2驳回,;3省级驳回）长度必须介于 0 和 4 之间")
	public String getAuditStatus() {
		return auditStatus;
	}

	public void setAuditStatus(String auditStatus) {
		this.auditStatus = auditStatus;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getInvoiceDate() {
		return invoiceDate;
	}

	public void setInvoiceDate(Date invoiceDate) {
		this.invoiceDate = invoiceDate;
	}
	
	@Length(min=0, max=100, message="发票编号长度必须介于 0 和 100 之间")
	public String getInvoiceNo() {
		return invoiceNo;
	}

	public void setInvoiceNo(String invoiceNo) {
		this.invoiceNo = invoiceNo;
	}
	
	@Length(min=0, max=100, message="疫苗厂商(生产单位)长度必须介于 0 和 100 之间")
	public String getFactory() {
		return factory;
	}

	public void setFactory(String factory) {
		this.factory = factory;
	}
	
	public BigDecimal getSubsidyCash() {
		return subsidyCash;
	}

	public void setSubsidyCash(BigDecimal subsidyCash) {
		this.subsidyCash = subsidyCash;
	}
	
	@Length(min=0, max=100, message="疫苗首图，显示在列表长度必须介于 0 和 100 之间")
	public String getVaccineImg() {
		return vaccineImg;
	}

	public void setVaccineImg(String vaccineImg) {
		this.vaccineImg = vaccineImg;
	}
	
	@Length(min=0, max=1, message="启用状态 0=不可用 1=可用长度必须介于 0 和 1 之间")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@Length(min=0, max=4, message="排序长度必须介于 0 和 4 之间")
	public String getSort() {
		return sort;
	}

	public void setSort(String sort) {
		this.sort = sort;
	}

	public String getAreaCode() {
		return areaCode;
	}

	public void setAreaCode(String areaCode) {
		this.areaCode = areaCode;
	}

	public String getGroupConcatVaccineName() {
		return groupConcatVaccineName;
	}

	public void setGroupConcatVaccineName(String groupConcatVaccineName) {
		this.groupConcatVaccineName = groupConcatVaccineName;
	}

	public Audit getAudit() {
		return audit;
	}

	public void setAudit(Audit audit) {
		this.audit = audit;
	}

	public String getGroupConcatVaccoineAmountMl() {
		return groupConcatVaccoineAmountMl;
	}

	public void setGroupConcatVaccoineAmountMl(String groupConcatVaccoineAmountMl) {
		this.groupConcatVaccoineAmountMl = groupConcatVaccoineAmountMl;
	}

	public List<Attachment> getAttachmentList() {
		return attachmentList;
	}

	public void setAttachmentList(List<Attachment> attachmentList) {
		this.attachmentList = attachmentList;
	}

	public List<VaccineInfo> getVaccineInfoList() {
		return vaccineInfoList;
	}

	public void setVaccineInfoList(List<VaccineInfo> vaccineInfoList) {
		this.vaccineInfoList = vaccineInfoList;
	}

	public String getEntId() {
		return entId;
	}

	public void setEntId(String entId) {
		this.entId = entId;
	}

	public SubsidyStandard getSubsidyStandard() {
		return subsidyStandard;
	}

	public void setSubsidyStandard(SubsidyStandard subsidyStandard) {
		this.subsidyStandard = subsidyStandard;
	}

	public String getVaccineName() {
		return vaccineName;
	}

	public void setVaccineName(String vaccineName) {
		this.vaccineName = vaccineName;
	}

	public String getStandardId() {
		return standardId;
	}

	public void setStandardId(String standardId) {
		this.standardId = standardId;
	}

	public String getEntName() {
		return entName;
	}

	public void setEntName(String entName) {
		this.entName = entName;
	}

	public String getAuditOpinion() {
		return auditOpinion;
	}

	public void setAuditOpinion(String auditOpinion) {
		this.auditOpinion = auditOpinion;
	}

	public String getBusAuditStatus() {
		return busAuditStatus;
	}

	public void setBusAuditStatus(String busAuditStatus) {
		this.busAuditStatus = busAuditStatus;
	}

	public Date getAuditDate() {
		return auditDate;
	}

	public void setAuditDate(Date auditDate) {
		this.auditDate = auditDate;
	}

	public EntHistory getEntHistory() {
		return entHistory;
	}

	public void setEntHistory(EntHistory entHistory) {
		this.entHistory = entHistory;
	}

	public VaccineInfo getVaccineInfo() {
		return vaccineInfo;
	}

	public void setVaccineInfo(VaccineInfo vaccineInfo) {
		this.vaccineInfo = vaccineInfo;
	}

	public String getVaccineType() {
		return vaccineType;
	}

	public void setVaccineType(String vaccineType) {
		this.vaccineType = vaccineType;
	}

	public String getAuditId() {
		return auditId;
	}

	public void setAuditId(String auditId) {
		this.auditId = auditId;
	}

	public final String getStatusFlag() {
		return statusFlag;
	}

	public final void setStatusFlag(String statusFlag) {
		this.statusFlag = statusFlag;
	}

	public final String getAuditTableStatus() {
		return auditTableStatus;
	}

	public final void setAuditTableStatus(String auditTableStatus) {
		this.auditTableStatus = auditTableStatus;
	}

	public String getInitialDeposit() {
		return initialDeposit;
	}

	public void setInitialDeposit(String initialDeposit) {
		this.initialDeposit = initialDeposit;
	}

	public String getFarmType() {
		return farmType;
	}

	public void setFarmType(String farmType) {
		this.farmType = farmType;
	}

	public String getState() {
		return state;
	}

	public void setState(String state) {
		this.state = state;
	}

	public String getInvoiceType() {
		return invoiceType;
	}

	public void setInvoiceType(String invoiceType) {
		this.invoiceType = invoiceType;
	}

	public String getInvoiceCode() {
		return invoiceCode;
	}

	public void setInvoiceCode(String invoiceCode) {
		this.invoiceCode = invoiceCode;
	}

	public String getCheckCode() {
		return checkCode;
	}

	public void setCheckCode(String checkCode) {
		this.checkCode = checkCode;
	}

	public BigDecimal getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(BigDecimal totalAmount) {
		this.totalAmount = totalAmount;
	}

	public String getPurchaserName() {
		return purchaserName;
	}

	public void setPurchaserName(String purchaserName) {
		this.purchaserName = purchaserName;
	}

	public String getPurchaserTaxNo() {
		return purchaserTaxNo;
	}

	public void setPurchaserTaxNo(String purchaserTaxNo) {
		this.purchaserTaxNo = purchaserTaxNo;
	}
}